import logging
from datetime import timedelta
from redis import StrictRedis


class Config:
    DEBUG = True  # 开启调试
    SQLALCHEMY_DATABASE_URI = "mysql://root:mysql@127.0.0.1:3306/db_info_15"  # 设置数据库URL
    SQLALCHEMY_TRACK_MODIFICATIONS = False  # 不跟踪数据库变化
    REDIS_IP = "127.0.0.1"  # redis绑定的ip
    REDIS_PORT = 6379  # redis监听的端口
    SESSION_TYPE = "redis"  # 设置session存储的类型
    SESSION_REDIS = StrictRedis(host=REDIS_IP, port=REDIS_PORT)  # 设置session存储使用的redis对象
    SESSION_USE_SIGNER = True  # 开启sessionid的加密(需要使用SECRET_KEY的值)
    SECRET_KEY = "pGSco16hquNSS2hOAs6FAT9QsMz1AXpAvi8Gqq1lDOpbi/EKumG3/SmOLhaocUPq"  # 应用秘钥
    # SESSION_PERMANENT = True  # 开启session持久化 默认就是开启的, 但需要指定过期时间
    PERMANENT_SESSION_LIFETIME = timedelta(days=7)
    # 设置sqlalchemy自动提交 增删改后自动提交
    SQLALCHEMY_COMMIT_ON_TEARDOWN = True

class DevelopConfig(Config):  # 开发环境配置
    DEBUG = True
    LOG_LEVEL = logging.DEBUG


class ProductConfig(Config):  # 发布环境配置
    DEBUG = False
    LOG_LEVEL = logging.ERROR


# 记录各种配置
conf = {
    "dev": DevelopConfig,
    "pro": ProductConfig
}